1. Field of the Invention
The present invention relates to a service providing system which provides services which are provided by a program executed on a computer through a network to other computer, and more particularly, to a service providing system enabling a service which can not be provided due to a failure or maintenance of a computer to be provided from other computer.
2. Description of the Related Art
Conventionally proposed methods of coping with a situation where a computer fails to operate due to a failure or maintenance of the computer are increasingly redundant. One method copes with such a situation by shifting execution of a program to other computer, in which even when one computer stops operation, operation can be continued by other computer. This method, however, has the following problems.
Consider a case where with a program being executed on one computer, the program provides services to a plurality of other computers through a network. There will be a case where, for one reason or another, for example, due to a failure or maintenance of a computer, the program needs to be shifted to other computer in order to continue service provision.
In this case, the first problem is that it is necessary to install the program on other computer and activate an alternative program.
Next, when a computer which provides services is changed, a computer which will receive the service is not allowed to detect change of location of the computer providing the service. This prevents the computer which receives the service from accessing the computer which provides the service and accordingly prevents the same from receiving the service, which is the second problem.
Examples of methods which solve these problems are recited in Japanese Patent Laying-Open (Kokai) No. 2001-22709 (Literature 1) and Japanese Patent Laying-Open (Kokai) No. 2000-47894 (Literature 2), for example.
In the method disclosed in Literature 1, a plurality of computers are connected through a network, with each computer having a means for detecting abnormality of a program.
When abnormality of a program is detected in one of the plurality of computers, the program is re-started at the computer in which the program abnormality is detected. When the program abnormality is not eliminated even by the re-starting, the program will be executed on other computer.
In the method disclosed in Literature 2, a plurality of computers are connected through a network, with each computer being provided with a monitoring means for monitoring an operation condition which means storing an operation condition of each computer in a monitoring information repository (which is a data base to be internally used by a system) connected with each computer through the network. Operation conditions include a CPU load and a memory free capacity of a computer.
When the monitoring means detects abnormality of other computer, based on information of the monitoring information repository, select an alternative computer having a small CPU load or a small memory free capacity and take over the processing to the selected computer.
The above-described conventional techniques have the following shortcomings.
In a case where a program is executed on one computer and the program provides services to a plurality of other computers through a network, according to the method disclosed in Literature 1, the first problem of the necessity of installing the program on other computer to activate a program as an alternative can be solved by executing the program on other computer.
When a computer which provides services is changed, however, a computer which receives the services is incapable of detecting the change of location of the computer providing the services, so that it can not access the computer which provides the services. As a result, the second problem can not be solved that an access from the computer receiving the services to the computer providing the services is disabled to prevent service provision.
On the other hand, according to the method disclosed in Literature 2, when the monitoring means detects abnormality of other computer, an alternative computer having a small CPU load or a small memory free capacity is selected based on the information of the monitoring information repository to take over the processing to the selected computer. Therefore, the first problem of the need of installing the program on other computer to activate an alternative program can be solved.
However, because a change of location of a computer which provides the service can not be detected, an access from the computer receiving the service to the computer providing the service is impossible. Therefore, similarly to the method disclosed in Literature 1, the second problem that the computer receiving the service is not allowed to receive services from the computer which provides the service can not be solved.